package it.apiconsulting.live.model;

import java.io.Serializable;
import java.sql.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="t_prodotto")
public class Prodotto implements Serializable{
	
	private static final long serialVersionUID = -8767337896773261247L;
	
	private Long id;
    private String nome;
    private String descrizione;
    private String modello;
    private String marca;
    private Long qty;
    private Long costoacquisto;
    private Long costonoleggio;
    private Date dataacquisto;
    private Long idcategoria;
    private String nomecategoria;
    private Long idsottocategoria;
    private Date datacreazione;
    
	@Id
	@GeneratedValue
	@Column(name="id")
	public Long getId() {
		return id;
	}
	@Column(name="nome")
	public String getNome() {
		return nome;
	}
	@Column(name="descrizione")
	public String getDescrizione() {
		return descrizione;
	}
	@Column(name="modello")
	public String getModello() {
		return modello;
	}
	@Column(name="marca")
	public String getMarca() {
		return marca;
	}
	@Column(name="qty")
	public Long getQty() {
		return qty;
	}
	@Column(name="costo_acquisto")
	public Long getCostoacquisto() {
		return costoacquisto;
	}
	@Column(name="costo_noleggio")
	public Long getCostonoleggio() {
		return costonoleggio;
	}
	@Column(name="data_acquisto")
	public Date getDataacquisto() {
		return dataacquisto;
	}
	@Column(name="id_categoria")
	public Long getIdcategoria() {
		return idcategoria;
	}
	@Column(name="id_sottocategoria")
	public Long getIdsottocategoria() {
		return idsottocategoria;
	}
	@Column(name="data_creazione")
	public Date getDatacreazione() {
		return datacreazione;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public void setDescrizione(String descrizione) {
		this.descrizione = descrizione;
	}
	public void setModello(String modello) {
		this.modello = modello;
	}
	public void setMarca(String marca) {
		this.marca = marca;
	}
	public void setQty(Long qty) {
		this.qty = qty;
	}
	public void setCostoacquisto(Long costoacquisto) {
		this.costoacquisto = costoacquisto;
	}
	public void setCostonoleggio(Long costonoleggio) {
		this.costonoleggio = costonoleggio;
	}
	public void setDataacquisto(Date dataacquisto) {
		this.dataacquisto = dataacquisto;
	}
	public void setIdcategoria(Long idcategoria) {
		this.idcategoria = idcategoria;
	}
	public void setIdsottocategoria(Long idsottocategoria) {
		this.idsottocategoria = idsottocategoria;
	}
	public void setDatacreazione(Date datacreazione) {
		this.datacreazione = datacreazione;
	}
	public String getNomecategoria() {
		return nomecategoria;
	}
	public void setNomecategoria(String nomecategoria) {
		this.nomecategoria = nomecategoria;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((nome == null) ? 0 : nome.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Prodotto other = (Prodotto) obj;
		if (nome == null) {
			if (other.nome != null)
				return false;
		} else if (!nome.equals(other.nome))
			return false;
		return true;
	}
}
